package com.zhz.leetcode;

/**
 * 504. 七进制数
 * 给定一个整数 num，将其转化为 7 进制，并以字符串形式输出。
 * <p>
 * 示例 1:
 * 输入: num = 100
 * 输出: "202"
 * <p>
 * 示例 2:
 * 输入: num = -7
 * 输出: "-10"
 * <p>
 * 提示：
 * -107<= num <= 107
 * <p>
 * 来源：力扣（LeetCode）
 * 链接：https://leetcode-cn.com/problems/base-7
 * 著作权归领扣网络所有。商业转载请联系官方授权，非商业转载请注明出处。
 */
public class Base7504 {

    public static void main(String[] args) {
        Base7504 m = new Base7504();
        String res = m.convertToBase71(-99);
        System.out.println(res);
    }

    public String convertToBase7(int num) {
        if (num == 0) {
            return "0";
        }
        boolean isPositive = num >= 0;
        int tmp = Math.abs(num);
        StringBuilder sb = new StringBuilder();
        while (tmp > 0) {
            sb.append(tmp % 7);
            tmp = tmp / 7;
        }
        if(isPositive) sb.append("-");
        return sb.reverse().toString();
    }

    /**
     * 直接使用Integer的方法
     */
    public String convertToBase71(int num) {
        return Integer.toString(num,7);
    }

}
